============================ = QuakeWorld Server (QWSV) = ============================ Released: Friday, December 13th, 1996 Document Last Revision: Monday, December 16th, 1996 ============ = Contents = ============ 1......Installation Instructions 2......Command Line Parameters 3......Console Commands 3.1......General 3.2......Security 4......The QuakeWorld Master 4.1......Overview 4.2......Features 4.3......To Do 5......Known Bugs 6......The QuakeWorld Team ================================ = 1. Installation Instructions = ================================ 1) Make a "QW" directory below your Quake root. cd \quake md qw 2) Make a skins directory below QW cd qw md skins 3) Copy the progs.dat included in the QWSV archive to the QW directory 4) Make sure qwsv.exe is in the Quake directory 5) Run qwsv.exe with optional command line parms described below ============================== = 2. Command Line Parameters = ============================== -master Connects to an alternate master. By default, qwsv.exe will attempt a connection to id's master server at 192.246.40.115. Should there be another master server you wish your server to connect to, use this command. "qwsv -master 204.50.178.66" -port Specify an alternate port to listen for connections. By default, qwsv listens on port 27000. Use this command to specify an alternate port. "qwsv -port 20593" -game Specify a directory to an alternate progs.dat or map files. Same as Quake. For example, if you wish to run CTF for QuakeWorld, and have it installed in c:\quake\ctf and assuming that you have qwsv.exe located in c:\quake, simply execute; "qwsv -game ctf" To choose the CTF progs.dat and support files. ======================= = 3. Console Commands = ======================= ----------- 3.1 General ----------- Please Note: Most of these can be either prefixed with a + at the command line, or may be included in a file called "server.cfg" (which is the equivalent of autoexec.cfg) which is loaded along with qwsv.exe. map Change to a new map "map dm2" would change to dm2 rcon_password Set a password for remote administration "rcon_password llama" sets the rcon (Remote Console) password to "llama" for your server. This would enable you to remotely administer your server from qwcl.exe. status Displays the present status of your server. CPU Utilization, all connected clients with detailed statistics, as well as the average response time to clients. showpackets This is VERY verbose. Prints every packet received to the console. Generally, not a good idea to use unless you are debugging something "showpackets 0" turns it off (Default) "showpackets 1" enables showdrop Shows you which client has dropped how many packets. Useful to guage the quality of their play. The more packets they drop, the worse their QuakeWorld experience. "showdrop 0" Turns off dropped packet display to the console "showdrop 1" Enables display of dropped packet information maxclients What is the maximum number of clients you wish to allow to connect to your server? (Default is 8) "maxclients 16" allows 16 clients to connect to your server. samelevel Toggles if QuakeWorld changes levels when someone exits (Default is 0) "samelevel 0" allows advancing to the next level "samelevel 1" the same level will be played over and over again if someone exits "samelevel 2" Same as noexit 1. Kills someone if they exit the level "samelevel 3" Same as noexit 2. Kills someone if they exit the level except for the case of where the map is start.bsp fraglimit Advances to the next level after n frags "fraglimit 25" Advances to the next level when someone achieves 25 frags timelimit Advances to the next level after n minutes of play "timelimit 15" Advances to the next level after 15 minutes of gameplay have elapsed on the current level hostname What you wish to call your server. "unnamed" is the default "hostname RevCoWorld" gives your server the name of "RevCoWorld" teamplay Sets teamplay settings for your server "teamplay 0" No teams (default) Hurt everybody "teamplay 1" You cannot hurt your teammates "teamplay 2" You lose one frag for killing a teammate say What text do you wish to display to players "say Server going down in 5 minutes" ...displays "(Console) Server going down in 5 minutes" to all players on your server serverinfo Displays all the vars for your current server configuration or set's appropriate vars (See below) serverinfo noscore 1 Disables frag logging and rank/skill calculations for the master you are connected to. Any other value enables frag logging at the next heartbeat. Default is 0. eg: "serverinfo noscore 1" Prevents score info from being calculated "serverinfo noscore 0" Enables score info calculation at the master private 1 Prevents your server from being listed in the "servers" listing, or prevents QSpy from displaying your server to users. Any other value allows your server to be displayed. Default is 0. eg: "serverinfo private 1" Does not allow your server to be listed "serverinfo private 0" Allows you server to be listed in a "servers" request. *PLEASE NOTE* If someone knows the IP of your server, this will not prevent them from explicitly connecting to your server. Passwords will be implemented in a future version of QWSV. minskill/ maxskill Only show the server to a user making a "servers" request if their skill level is between minskill and maxskill. Default for both is 0 (This disables this feature.) eg: "serverinfo minskill 1000" "serverinfo maxskill 2000" Allows your server to be displayed only if the person requesting "servers" has a skill level between 1000 and 2000. This will allow admins to run servers which cater to certain skill levels. eg: "serverinfo minskill 0" "serverinfo maxskill 0" Enables your server to be included in a "servers" request viewable by users of all skill levels. minrank/ maxrank Only show the server to a user making a "servers" request if their rank is between minrank and maxrank. Default for both is 0 (This disables this feature.) eg: "serverinfo minrank 500" "serverinfo maxskill 3000" Allows your server to be displayed only if the person requesting "servers" has a rank between 500 and 3000. This will allow admins to run servers which cater to certain rank levels. eg: "serverinfo minrank 0" "serverinfo maxrank 0" Enables your server to be included in a "servers" request viewable by users of all ranking levels. quit Quits the server and returns you to the prompt disconnecting all connected users. ------------ 3.2 Security ------------ addip Add a mask to the ban list "addip 204.212.39" bans any incoming connection from 204.212.39.* *Please Note* All bans placed by addip only apply to the current session unless you issue "writeip" (See below) before the server terminates. removeip Remove a mask from the ban list (See listip) "removeip 204.212.39" removes the ban on 204.212.39.* listip Displays the present ban filter list writeip Writes out the ban list from memory do disk (permanent bans) adduser Add a userid to the ban list "adduser 5" would ban American McGee from playing on your server ;) *Please Note* All bans placed by adduser only apply to the current session unless you issue "writeuser" (See below) before the server terminates. removeuser Remove a userid from the banlist "removeuser 5" would allow American McGee to play on your server again listuser Displays the present user id ban list writeuser Writes out the user id banlist from memory to disk. ==================================== = 4. QuakeWorld Master Server 1.04 = ==================================== Last Updated: Monday, December 16th, 1996 ================ = 4.1 Overview = ================ The QuakeWorld Master Server, for all intents and purposes, is the central database controller for QuakeWorld servers (qwsv.exe). The QuakeWorld network architecture does not allow for straight client->server initial connections. All initial connections must first be made to a master server. From there, the client may log in, request a list of servers, change their user records, or join a game in progress on an available server. The master is in charge of keeping track of all stats, user records, and logs significant events from servers connected to it (frags, what the user was last seen doing, etc.) ================ = 4.2 Features = ================ * Frag/Death Logging: QuakeWorld automatically keeps track of every users frag and death as well as their ranking and skill level * Network Wide Bans: If there are rogue servers or users who consistently cause problems for users in the QuakeWorld network, we now have the ability to prevent them from connecting to the network from a central location. Please Note: There should be multiple complaints before a user or IP mask is banned from QuakeWorld. * Seen: Much like bots on IRC networks, QuakeWorld now has the ability to request information on what a particular user name or user ID was last seen doing. ("seen " from the console) * Clan Access Control Lists: QuakeWorld has the ability to password protect key/value combos with a password. For example, if you are in clan "RevCo" and wish to prevent others from using your skin (eg: revco.pcx or bearian.pcx), the QuakeWorld admins can password protect "setinfo skin bearian" with a password. You may only set your "skin" key to "bearian" if you provide the correct password. * Unique Names: To prevent people from masquerading as another user, QuakeWorld only accepts one unique name per master. That way, there can only ever be one "tokay" or "sCaryname" or "Disruptor" per master. ============= = 4.3 To Do = ============= * Investigate a method to possibly sync up masters * Implement password protected servers * Fix server->client download problems * Find a method to have clan rankings, and work more on clan support in general ================= = 5. Known Bugs = ================= - qwsv will not work if you have unpacked your Quake PAK files. You must have PAK0.PAK and PAK1.PAK in your \quake\id1 directory ========================== = 6. The QuakeWorld Team = ========================== John Carmack New network code and game modifications, original Master Server Code Michael Abrash Video and Sound drivers (WinQuake Port) Christian Antkow (aka: Disruptor) qwmaster@idsoftware.com Master Server Development, QWSV Documentation, id Master Server Administrator Geoff Scully (aka: Tarok) gws@dis.on.ca Master Server Development, id Master Server Administator Joe Powell (aka: QSpy) jep@sclsis.navy.mil QSpy (QWFE) Programmer, Master Server Development Dave Riller (aka: DRiller/Kevorkian) qwdist@idsoftware.com QuakeWorld Distribution Co-Ordinator Rick Brewer (aka: ^Drag0n^) tron@cyberportal.net QuakeWorld Clan Skins Administrator Dave Kirsch (aka: Zoid) zoid@threewave.com QuakeWorld QC 1.01 to 1.06 Upgrade, QuakeWorld CTF Mods, Moral Support Ron Crisco (aka: RonSolo) ronsolo@stomped.com Scoring Systems Development, id QuakeWorld Webmaster and all around nice guy